8027b6c0: 27 bd ff d0  ADDIU sp, sp, 0xffffffd0 (-48)

8027b6c4: 84 8e 00 02  LH t6, a0, 0x2 (2)
8027b6c8: 31 cf 00 08  ANDI t7, t6, 0x8 (8)
8027b6cc: 00 0f c0 2b  SLTU t8, r0, t7
8027b6d0: af b8 00 24  SW t8, sp, 0x24 (36)                [sp + 0x24] = 0 < (arg1->off0x02) & 0x0008;

8027b6d4: 8f b9 00 24  LW t9, sp, 0x24 (36)
8027b6d8: 3c 09 80 33  LUI t1, 0x8033 (32819)
8027b6dc: 25 29 de 70  ADDIU t1, t1, 0xffffde70 (-8592)
8027b6e0: 00 19 41 40  SLL t0, t9, 0x5 (5)
8027b6e4: 01 09 50 21  ADDU t2, t0, t1
8027b6e8: af aa 00 20  SW t2, sp, 0x20 (32)                [sp + 0x20] = 0x8032de70 + ([sp + 0x24] << 5);

8027b6ec: 8f ab 00 24  LW t3, sp, 0x24 (36)
8027b6f0: 3c 0d 80 33  LUI t5, 0x8033 (32819)
8027b6f4: 25 ad de b0  ADDIU t5, t5, 0xffffdeb0 (-8528)
8027b6f8: 00 0b 61 40  SLL t4, t3, 0x5 (5)
8027b6fc: 01 8d 70 21  ADDU t6, t4, t5
8027b700: af ae 00 1c  SW t6, sp, 0x1c (28)                [sp + 0x1c] = 0x8032deb0 + ([sp + 0x24] << 5);

8027b704: 8f af 00 24  LW t7, sp, 0x24 (36)
8027b708: 11 e0 00 18  BEQ r0, t7, 0x8027b76c (pc + 0x60)  if (![sp + 0x24]) goto 0x8027b76c;
8027b70c: 00 00 00 00  NOP

8027b710: 3c 18 80 34  LUI t8, 0x8034 (32820)
8027b714: 8f 18 b0 6c  LW t8, t8, 0xffffb06c (-20372)
8027b718: 3c 01 80 34  LUI at, 0x8034 (32820)
8027b71c: 27 19 00 08  ADDIU t9, t8, 0x8 (8)
8027b720: ac 39 b0 6c  SW t9, at, 0xffffb06c (-20372)
8027b724: af b8 00 18  SW t8, sp, 0x18 (24)                *(int32_t *)0x8033b06c = 2 + ([sp + 0x18] = *(int32_t *)0x8033b06c);

8027b728: 8f a9 00 18  LW t1, sp, 0x18 (24)
8027b72c: 3c 08 e7 00  LUI t0, 0xe700 (59136)
8027b730: ad 28 00 00  SW t0, t1, 0x0 (0)                  [sp + 0x18]->w0 = 0xe7000000;

8027b734: 8f aa 00 18  LW t2, sp, 0x18 (24)
8027b738: ad 40 00 04  SW r0, t2, 0x4 (4)                  [sp + 0x18]->w1 = 0x00000000;

8027b73c: 3c 0b 80 34  LUI t3, 0x8034 (32820)
8027b740: 8d 6b b0 6c  LW t3, t3, 0xffffb06c (-20372)
8027b744: 3c 01 80 34  LUI at, 0x8034 (32820)
8027b748: 25 6c 00 08  ADDIU t4, t3, 0x8 (8)
8027b74c: ac 2c b0 6c  SW t4, at, 0xffffb06c (-20372)
8027b750: af ab 00 14  SW t3, sp, 0x14 (20)                *(int32_t *)0x8033b06c = 2 + ([sp + 0x14] = *(int32_t *)0x8033b06c);

8027b754: 8f ae 00 14  LW t6, sp, 0x14 (20)
8027b758: 3c 0d b7 00  LUI t5, 0xb700 (46848)
8027b75c: ad cd 00 00  SW t5, t6, 0x0 (0)                  [sp + 0x14]->w0 = 0xb7000000;

8027b760: 8f b8 00 14  LW t8, sp, 0x14 (20)
8027b764: 24 0f 00 01  ADDIU t7, r0, 0x1 (1)
8027b768: af 0f 00 04  SW t7, t8, 0x4 (4)                  [sp + 0x14]->w1 = 0x00000001;

*
8027b76c: af a0 00 28  SW r0, sp, 0x28 (40)                [sp + 0x28] = 0;

*
8027b770: 8f b9 00 28  LW t9, sp, 0x28 (40)
8027b774: 00 19 40 80  SLL t0, t9, 0x2 (2)
8027b778: 00 88 48 21  ADDU t1, a0, t0
8027b77c: 8d 2a 00 14  LW t2, t1, 0x14 (20)
8027b780: 11 40 00 3d  BEQ r0, t2, 0x8027b878 (pc + 0xf4)  if (!([sp + 0x2c] = (arg1+([sp + 0x28]<<2))->off0x14)) goto 0x8027b878
8027b784: af aa 00 2c  SW t2, sp, 0x2c (44)

8027b788: 3c 0b 80 34  LUI t3, 0x8034 (32820)
8027b78c: 8d 6b b0 6c  LW t3, t3, 0xffffb06c (-20372)
8027b790: 3c 01 80 34  LUI at, 0x8034 (32820)
8027b794: 25 6c 00 08  ADDIU t4, t3, 0x8 (8)
8027b798: ac 2c b0 6c  SW t4, at, 0xffffb06c (-20372)
8027b79c: af ab 00 10  SW t3, sp, 0x10 (16)                *(int32_t *)0x8033b06c = 2 + ([sp + 0x10] = *(int32_t *)0x8033b06c);

8027b7a0: 8f ae 00 10  LW t6, sp, 0x10 (16)
8027b7a4: 3c 0d b9 00  LUI t5, 0xb900 (47360)
8027b7a8: 35 ad 03 1d  ORI t5, t5, 0x31d (797)
8027b7ac: ad cd 00 00  SW t5, t6, 0x0 (0)                  [sp + 0x10]->w0 = 0xb900031d;

8027b7b0: 8f b8 00 28  LW t8, sp, 0x28 (40)
8027b7b4: 8f af 00 1c  LW t7, sp, 0x1c (28)
8027b7b8: 8f aa 00 20  LW t2, sp, 0x20 (32)
8027b7bc: 00 18 c8 80  SLL t9, t8, 0x2 (2)
8027b7c0: 01 f9 40 21  ADDU t0, t7, t9
8027b7c4: 01 59 58 21  ADDU t3, t2, t9
8027b7c8: 8d 6c 00 00  LW t4, t3, 0x0 (0)
8027b7cc: 8d 09 00 00  LW t1, t0, 0x0 (0)
8027b7d0: 8f ae 00 10  LW t6, sp, 0x10 (16)
8027b7d4: 01 2c 68 25  OR t5, t1, t4
8027b7d8: ad cd 00 04  SW t5, t6, 0x4 (4)                  [sp + 0x10]->w1 = *([sp + 0x1c] + ([sp + 0x28]<<2)) | *([sp + 0x20] + ([sp + 0x28]<<2));

8027b7dc: 8f b8 00 2c  LW t8, sp, 0x2c (44)
8027b7e0: 13 00 00 25  BEQ r0, t8, 0x8027b878 (pc + 0x94)  if (![sp + 0x2c]) goto 0x8027b878;
8027b7e4: 00 00 00 00  NOP

*
8027b7e8: 3c 0f 80 34  LUI t7, 0x8034 (32820)
8027b7ec: 8d ef b0 6c  LW t7, t7, 0xffffb06c (-20372)
8027b7f0: 3c 01 80 34  LUI at, 0x8034 (32820)
8027b7f4: 25 e8 00 08  ADDIU t0, t7, 0x8 (8)
8027b7f8: ac 28 b0 6c  SW t0, at, 0xffffb06c (-20372)
8027b7fc: af af 00 0c  SW t7, sp, 0xc (12)                 *(int32_t *)0x8033b06c = 2 + ([sp + 0x0c] = *(int32_t *)0x8033b06c);

8027b800: 8f b9 00 0c  LW t9, sp, 0xc (12)
8027b804: 3c 0a 01 02  LUI t2, 0x102 (258)
8027b808: 35 4a 00 40  ORI t2, t2, 0x40 (64)
8027b80c: af 2a 00 00  SW t2, t9, 0x0 (0)                  [sp + 0x0c]->w0 = 0x01020040;

8027b810: 8f ab 00 2c  LW t3, sp, 0x2c (44)
8027b814: 8f ad 00 0c  LW t5, sp, 0xc (12)
8027b818: 3c 01 1f ff  LUI at, 0x1fff (8191)
8027b81c: 8d 69 00 00  LW t1, t3, 0x0 (0)
8027b820: 34 21 ff ff  ORI at, at, 0xffff (65535)
8027b824: 01 21 60 24  AND t4, t1, at
8027b828: ad ac 00 04  SW t4, t5, 0x4 (4)                  [sp + 0x0c]->w1 = [sp + 0x2c]->off0x00 & 0x1fffffff;

8027b82c: 3c 0e 80 34  LUI t6, 0x8034 (32820)
8027b830: 8d ce b0 6c  LW t6, t6, 0xffffb06c (-20372)
8027b834: 3c 01 80 34  LUI at, 0x8034 (32820)
8027b838: 25 d8 00 08  ADDIU t8, t6, 0x8 (8)
8027b83c: ac 38 b0 6c  SW t8, at, 0xffffb06c (-20372)
8027b840: af ae 00 08  SW t6, sp, 0x8 (8)                 *(int32_t *)0x8033b06c = 2 + ([sp + 0x08] = *(int32_t *)0x8033b06c);

8027b844: 8f a8 00 08  LW t0, sp, 0x8 (8)
8027b848: 3c 0f 06 00  LUI t7, 0x600 (1536)
8027b84c: ad 0f 00 00  SW t7, t0, 0x0 (0)                  [sp + 0x08]->w0 = 0x06000000;

8027b850: 8f aa 00 2c  LW t2, sp, 0x2c (44)
8027b854: 8f ab 00 08  LW t3, sp, 0x8 (8)
8027b858: 8d 59 00 04  LW t9, t2, 0x4 (4)
8027b85c: ad 79 00 04  SW t9, t3, 0x4 (4)                  [sp + 0x08]->w1 = [sp + 0x2c]->off0x04;

8027b860: 8f a9 00 2c  LW t1, sp, 0x2c (44)
8027b864: 8d 2c 00 08  LW t4, t1, 0x8 (8)
8027b868: af ac 00 2c  SW t4, sp, 0x2c (44)                [sp + 0x2c] = [sp+ 0x2c]->off0x08;

8027b86c: 8f ad 00 2c  LW t5, sp, 0x2c (44)
8027b870: 15 a0 ff dd  BNE t5, r0, 0x8027b7e8 (pc - 0x8c)  if ([sp + 0x2c]) goto 0x8027b7e8;
8027b874: 00 00 00 00  NOP

*
8027b878: 8f ae 00 28  LW t6, sp, 0x28 (40)
8027b87c: 25 d8 00 01  ADDIU t8, t6, 0x1 (1)
8027b880: 2b 01 00 08  SLTI at, t8, 0x8 (8)
8027b884: 14 20 ff ba  BNE at, r0, 0x8027b770 (pc - 0x118) if ((++[sp + 0x28]) < 8) goto 0x8027b770;
8027b888: af b8 00 28  SW t8, sp, 0x28 (40)

8027b88c: 8f af 00 24  LW t7, sp, 0x24 (36)
8027b890: 11 e0 00 18  BEQ r0, t7, 0x8027b8f4 (pc + 0x60)  if (![sp + 0x24]) goto 0x8027b8f4;
8027b894: 00 00 00 00  NOP

8027b898: 3c 08 80 34  LUI t0, 0x8034 (32820)
8027b89c: 8d 08 b0 6c  LW t0, t0, 0xffffb06c (-20372)
8027b8a0: 3c 01 80 34  LUI at, 0x8034 (32820)
8027b8a4: 25 0a 00 08  ADDIU t2, t0, 0x8 (8)
8027b8a8: ac 2a b0 6c  SW t2, at, 0xffffb06c (-20372)
8027b8ac: af a8 00 04  SW t0, sp, 0x4 (4)                  *(int32_t *)0x8033b06c = 2 + ([sp + 0x04] = *(int32_t *)0x8033b06c);

8027b8b0: 8f ab 00 04  LW t3, sp, 0x4 (4)
8027b8b4: 3c 19 e7 00  LUI t9, 0xe700 (59136)
8027b8b8: ad 79 00 00  SW t9, t3, 0x0 (0)                  [sp + 0x04]->w0 = 0xe7000000;

8027b8bc: 8f a9 00 04  LW t1, sp, 0x4 (4)
8027b8c0: ad 20 00 04  SW r0, t1, 0x4 (4)                  [sp + 0x04]->w1 = 0x00000000;

8027b8c4: 3c 0c 80 34  LUI t4, 0x8034 (32820)
8027b8c8: 8d 8c b0 6c  LW t4, t4, 0xffffb06c (-20372)
8027b8cc: 3c 01 80 34  LUI at, 0x8034 (32820)
8027b8d0: 25 8d 00 08  ADDIU t5, t4, 0x8 (8)
8027b8d4: ac 2d b0 6c  SW t5, at, 0xffffb06c (-20372)
8027b8d8: af ac 00 00  SW t4, sp, 0x0 (0)                  *(int32_t *)0x8033b06c = 2 + ([sp + 0x00] = *(int32_t *)0x8033b06c);

8027b8dc: 8f b8 00 00  LW t8, sp, 0x0 (0)
8027b8e0: 3c 0e b6 00  LUI t6, 0xb600 (46592)
8027b8e4: af 0e 00 00  SW t6, t8, 0x0 (0)                  [sp + 0x00]->w0 = 0xb6000000;

8027b8e8: 8f a8 00 00  LW t0, sp, 0x0 (0)
8027b8ec: 24 0f 00 01  ADDIU t7, r0, 0x1 (1)
8027b8f0: ad 0f 00 04  SW t7, t0, 0x4 (4)                  [sp + 0x00]->w1 = 0x00000001;

*
8027b8f4: 10 00 00 01  BEQ r0, r0, 0x8027b8fc (pc + 0x4)
8027b8f8: 00 00 00 00  NOP
8027b8fc: 03 e0 00 08  JR ra
8027b900: 27 bd 00 30  ADDIU sp, sp, 0x30 (48)

[sp + 0x24] = 0 < (arg1->off0x02) & 0x0008;
[sp + 0x20] = 0x8032de70 + ([sp + 0x24] << 5);
[sp + 0x1c] = 0x8032deb0 + ([sp + 0x24] << 5);
if (![sp + 0x24]) goto 0x8027b76c;
*(int32_t *)0x8033b06c = 2 + ([sp + 0x18] = *(int32_t *)0x8033b06c);
[sp + 0x18]->w0 = 0xe7000000;
[sp + 0x18]->w1 = 0x00000000;
*(int32_t *)0x8033b06c = 2 + ([sp + 0x14] = *(int32_t *)0x8033b06c);
[sp + 0x14]->w0 = 0xb7000000;
[sp + 0x14]->w1 = 0x00000001;
8027b76c:
[sp + 0x28] = 0;
8027b770:
if (!([sp + 0x2c] = (arg1+([sp + 0x28]<<2))->off0x14)) goto 0x8027b878
*(int32_t *)0x8033b06c = 2 + ([sp + 0x10] = *(int32_t *)0x8033b06c);
[sp + 0x10]->w0 = 0xb900031d;
[sp + 0x10]->w1 = *([sp + 0x1c] + ([sp + 0x28]<<2)) | *([sp + 0x20] + ([sp + 0x28]<<2));
if (![sp + 0x2c]) goto 0x8027b878;
8027b7e8:
*(int32_t *)0x8033b06c = 2 + ([sp + 0x0c] = *(int32_t *)0x8033b06c);
[sp + 0x0c]->w0 = 0x01020040;
[sp + 0x0c]->w1 = [sp + 0x2c]->off0x00 & 0x1fffffff;
*(int32_t *)0x8033b06c = 2 + ([sp + 0x08] = *(int32_t *)0x8033b06c);
[sp + 0x08]->w0 = 0x06000000;
[sp + 0x08]->w1 = [sp + 0x2c]->off0x04;
[sp + 0x2c] = [sp+ 0x2c]->off0x08;
if ([sp + 0x2c]) goto 0x8027b7e8;
8027b878:
if ((++[sp + 0x28]) < 8) goto 0x8027b770;
if (![sp + 0x24]) goto 0x8027b8f4;
*(int32_t *)0x8033b06c = 2 + ([sp + 0x04] = *(int32_t *)0x8033b06c);
[sp + 0x04]->w0 = 0xe7000000;
[sp + 0x04]->w1 = 0x00000000;
*(int32_t *)0x8033b06c = 2 + ([sp + 0x00] = *(int32_t *)0x8033b06c);
[sp + 0x00]->w0 = 0xb6000000;
[sp + 0x00]->w1 = 0x00000001;
8027b8f4:


{
    int i;         /* sp + 0x28 */
    struct ??? *p; /* sp + 0x2c */

    [sp + 0x24] = 0 < (arg1->off0x02) & 0x0008;
    [sp + 0x20] = 0x8032de70 + ([sp + 0x24] << 5);
    [sp + 0x1c] = 0x8032deb0 + ([sp + 0x24] << 5);
    if ([sp + 0x24]) {
        gDPPipeSync(*0x8033b06c);
        gSPSetGeometryMode(*0x8033b06c, G_ZBUFFER);
    }

    for (i = 0; i < 8; i++) {
        if (p = (arg1->off0x14[i])) {
            gDPSetRenderMode(*0x8033b06c, *([sp + 0x1c] + (i<<2)), *([sp + 0x20] + (i<<2)));
            while (p) {
                gSPMatrix(*0x8033b06c, p->off0x00 & 0x1fffffff, G_MTX_LOAD); /*MODELVIEW and NOPUSH*/
                gSPDisplayList(*0x8033b06c, p->off0x04);
                p = p->off0x08;
            }
        }
    }

    if ([sp + 0x24]) {
        gDPPipeSync(*0x8033b06c);
        gSPClearGeometryMode(*0x8033b06c, G_ZBUFFER);
    }
}
